// DOM元素加载完成后执行
document.addEventListener('DOMContentLoaded', async function() {
    // 获取回复元素
    const replyElement = document.getElementById('reply');
    
    // 检查环境变量是否配置，添加更健壮的错误处理
    let apiKey = '';
    try {
        // 检查import.meta.env是否存在
        if (typeof import.meta !== 'undefined' && import.meta.env) {
            apiKey = import.meta.env.VITE_DEEPSEEK_API_KEY || '';
        } else {
            throw new Error('import.meta.env 未定义');
        }
    } catch (error) {
        console.error('获取环境变量失败:', error);
        replyElement.textContent = '环境变量配置错误，请检查Vite配置';
        replyElement.style.color = '#e74c3c';
        return;
    }
    
    // 检查API密钥是否有效
    if (!apiKey || apiKey === 'your_deepseek_api_key_here') {
        replyElement.textContent = '请先在 .env 文件中配置有效的 DeepSeek API 密钥';
        replyElement.style.color = '#e74c3c';
        console.warn('DeepSeek API 密钥未配置或使用默认值');
        return;
    }
    
    // LLM API 地址
    const endpoint = 'https://api.deepseek.com/chat/completions';
    
    // 请求头
    const headers = {
        'Authorization': `Bearer ${apiKey}`,
        'Content-Type': 'application/json'
    };
    
    // 请求体
    const payload = {
      model: 'deepseek-chat',
      messages: [
        { role: "system", content: "你是一个友好、专业的助手。请用中文回答问题。"},
        { role: "user", content: "你好 DeepSeek，请简要介绍一下你自己。" }
      ]
    };
    
    try {
        // 显示加载状态
        replyElement.textContent = '正在获取 AI 回复...';
        
        // 发送请求
        const response = await fetch(endpoint, {
            method: 'POST',
            headers,
            body: JSON.stringify(payload)
        });
        
        // 检查响应状态
        if (!response.ok) {
            throw new Error(`API 请求失败: ${response.status} ${response.statusText}`);
        }
        
        // 解析响应数据
        const data = await response.json();
        console.log('API 响应:', data);
        
        // 检查响应数据结构
        if (data.choices && data.choices.length > 0 && data.choices[0].message) {
            replyElement.textContent = data.choices[0].message.content;
            replyElement.style.color = '#2c3e50'; // 恢复默认颜色
        } else {
            throw new Error('无效的 API 响应格式');
        }
    } catch (error) {
        // 处理错误
        console.error('API 请求错误:', error);
        replyElement.textContent = `请求失败: ${error.message}\n请检查 API 密钥和网络连接`;
        replyElement.style.color = '#e74c3c';
        
        // 如果是CORS错误，提供额外提示
        if (error.message.includes('CORS')) {
            replyElement.textContent += '\n可能是跨域问题，请检查API的CORS设置';
        }
    }
});
